iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 11
0

20190927

前言

今天要介紹的是Swift中的流程控制。在我們寫程式的過程中,難免會遇到一些邏輯的判斷以及流程的控制。今天,我們就要來介紹基礎的if else & swift的使用,還有for loop & while loop。

現在,我們馬上開始!

如何建立playground,請參考Day4的文章
https://ithelp.ithome.com.tw/articles/10217428

if else & switch

一樣先來看看程式碼

if else

let todayAQI = 100
if todayAQI <= 100 {
    print("健康")
} else {
    print("不健康")
}
//* 如果空氣品質指標AQI超過100代表不健康

if, else if

let AQI = 27
if (AQI) < 51 {
    print("良好")
} else if AQI < 101 {
    print("普通")
} else if AQI < 151 {
    print("對敏感族群不健康")
} else if AQI < 201 {
    print("對所有族群不健康")
} else if AQI < 301 {
    print("非常不健康")
} else {
    print("危害")
}
  • 這個例子包含了多個判斷0-50, 51-100, 101-150, 151-200, 201-300

switch
前面的例子,也可以使用switch來表示

switch AQI {
case 0...50:
    print("良好")
case 51...100:
    print("普通")
case 101...150:
    print("對敏感族群不健康")
case 151...200:
    print("對所有族群不健康")
case 201..<301:
    print("非常不健康")
default:
    print("危害") // AQI >= 301
}
  • 使用switch表達,並搭配closed range,0...50代表從0到50 (下限到上限)

  • 在201..<301則是half-open range,代表201到300,不包含301

  • default代表,如果不在前面的case內,則進入此區塊

for loop & while

這邊將介紹基本的for迴圈,並搭配前面提過的range一起使用
for loop

var sum = 0
for i in 1...10 {
    sum += i
}
sum // 55

//* 基本的for迴圈

while loop

var sum2 = 0
var i = 1

while i <= 10 {
    sum2 += i
    i += 1
}
sum2

//* 使用while loop,來達成與前面for loop一樣的效果

while & repeat
// repeat不管條件有沒有符合,也至少會執行一次 (類似其他語言中的do while概念)

var sum3 = 55
i = 11
repeat {
    sum3 += i
} while i <= 10
sum3 // 55 + 11 = 66

//* repeat內,至少跑了一次

總結

在今天的文章裡,我們介紹了基本的流程控制,以及迴圈的使用。
今天的內容就到這邊,感謝讀者們的閱讀。


Github:

https://github.com/chiron-wang/IT30_11

參考資料與延伸閱讀

  1. 彼得潘的 Swift iOS App 開發問題解答集
    https://medium.com/%E5%BD%BC%E5%BE%97%E6%BD%98%E7%9A%84-swift-ios-app-%E9%96%8B%E7%99%BC%E5%95%8F%E9%A1%8C%E8%A7%A3%E7%AD%94%E9%9B%86

  2. iOS 13 & Swift 5 - The Complete iOS App Development Bootcamp - Angela Yu
    https://www.udemy.com/course/ios-13-app-development-bootcamp/

  3. 深入淺出 iPhone 開發 (使用 Swift4) - WeiWei
    https://www.udemy.com/course/iphone-swift4/

  4. 心智圖軟體Xmind
    https://www.xmind.net/

  5. 彼得潘的Swift程式設計入門
    https://www.tenlong.com.tw/products/9789572246573

  6. 《The Swift Programming Language》正體中文版
    https://tommy60703.gitbooks.io/swift-language-traditional-chinese/content/chapter2/01_The_Basics.html#floating-point_numbers

  7. Apple Developer Document
    https://developer.apple.com/documentation/swift/optional

  8. 行政院環境保護署 - 品質監測網
    https://taqm.epa.gov.tw/taqm/tw/AqiMapTGOS.aspx


上一篇
Day10 Optional
下一篇
Day12 集合與列舉
系列文
iOS App 實作開發新手村36
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言